C++ has been stagnant for a long time, and while using many functional
programming idioms with C++ was always possible, it was never easy.
With each new version of the C++ standard, we have been getting better
and better tools for writing functional and generic code. C++11
started by introducing lambdas, C++14 made lambdas much nicer to use,
while C++17 went a few steps further by introducing algebraic data
types like std::optional and std::variant. With C++20, the situation
will become even better - ranges, concepts and coroutines will allow
us to do even more. In this talk, we will explain how exactly these
features fit into the FP style of programming.
C++ has been stagnant for a long time, and while using many functional
programming idioms with C++ was always possible, it was never easy.
With each new version of the C++ standard, we have been getting better
and better tools for writing functional and generic code. C++11
started by introducing lambdas, C++14 made lambdas much nicer to use,
while C++17 went a few steps further by introducing algebraic data
types like std::optional and std::variant. With C++20, the situation
will become even better - ranges, concepts and coroutines will allow
us to do even more. In this talk, we will explain how exactly these
features fit into the FP style of programming.